
package principal;

import com.jtattoo.plaf.acryl.AcrylLookAndFeel;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.beans.PropertyVetoException;
import java.lang.reflect.InvocationTargetException;
import java.util.logging.Level;
import java.util.logging.Logger;

import javax.swing.JApplet;
import javax.swing.JDesktopPane;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import javax.swing.event.InternalFrameEvent;
import javax.swing.event.InternalFrameListener;

import ventanas.VentanaConsultarCliente;

import ventanas.VentanaAgregarCliente;
import ventanas.VentanaAgregarEmpleados;
import ventanas.VentanaAgregarProducto;
import ventanas.VentanaConsultarEmpleado;
import ventanas.VentanaConsultarProducto;
import ventanas.VentanaEliminarCliente;
import ventanas.VentanaEliminarProducto;
import ventanas.VentanaListadoClientes;
import ventanas.VentanaListadoEmpleados;
import ventanas.VentanaListadoProductos;
import ventanas.VentanaLogeo;
import ventanas.VentanaModificarCliente;
import ventanas.VentanaModificarEmpleado;
import ventanas.VentanaModificarProducto;
import ventanas.VentanaReporteCliente;
import ventanas.VentanaReporteProductos;


public class Principal extends JApplet implements ActionListener, InternalFrameListener {

    /*Declaracion de Variables
     */
    /*Barra de Menu y panel Principal de Tipo
    JDesktopPane que permitira contener JInternalFrame
    (Ventanas Flotantes)*/
    private JMenuBar menuBarMenuSistema;
    private JDesktopPane panelPrincipal;

    /*Menu Archivo del Sistema*/
    private JMenu mnuArchivo;
    public JMenuItem miCerrarSesion;
    public JMenuItem miIniciarSesion;
    
    /*Menu Administrador del Sistema*/
    
    //Menu clientes 
    public JMenu mnuClientes;    
    //SubMenu de clientes
    public JMenuItem miListadoClientes;
    public JMenuItem miAgregarClientes;
    public JMenuItem miModificarClientes;
    private JMenuItem miConsultarClientes;
    private JMenuItem miEliminarCliente;
    
    //Menu empleado
    public JMenu mnuEmpleados;
    //Submenu de empleados
    private JMenuItem miListadoEmpleados;
    public JMenuItem miAgregarEmpleados;
    public JMenuItem miConsultarEmpleados;
    public JMenuItem miModificarEmpleados;
    
    //Menu productos
    public JMenu mnuProducto;
    //Submenu productos
    private JMenuItem miListadoProductos;
    public JMenuItem miAgregarProductos;
    public JMenuItem miConsultarProductos;
    public JMenuItem miModificarProductos;
    public JMenuItem miEliminarProductos;
    
    //Menu reportes
    public JMenu mnuReportes;
    
    private JMenuItem miReporteProductos;
    private JMenuItem miReporteCliente;

    /*Variables de Session*/
    public String codigoUsuarioSesion;
    
    public VentanaLogeo ventanaLogeo;
    
    /*Ventanas JInternalFrame Mantenimiento Cliente*/
    public VentanaAgregarCliente ventanaAgregarCliente;
    public VentanaModificarCliente ventanaModificarCliente;
    public VentanaListadoClientes ventanaListadoClientes;
    public VentanaConsultarCliente ventanaConsultarCliente;
    public VentanaEliminarCliente ventanaEliminarCliente;


    /*Ventanas del menu Empleado*/
    public VentanaListadoEmpleados ventanaListadoEmpleados;
    public VentanaAgregarEmpleados ventanaAgregarEmpleados;
    public VentanaModificarEmpleado ventanaModificarEmpleados;
    public VentanaConsultarEmpleado ventanaConsultarEmpleado;
    
    /*Ventanas del menu Productos*/
    public VentanaListadoProductos ventanaListadoProductos;
    public VentanaAgregarProducto ventanaAgregarProducto;
    public VentanaConsultarProducto ventanaConsultarProducto;
    public VentanaModificarProducto ventanaModificarProducto;
    public VentanaEliminarProducto ventanaEliminarProducto;
    
    
    /*Ventana de reportes      */
    public VentanaReporteCliente ventanaReporteCliente;
    public VentanaReporteProductos ventanaReporteProductos;
    


    public void init() {


        try {
            SwingUtilities.invokeAndWait(new Runnable() {

                public void run() {
                    try {                      
                        UIManager.setLookAndFeel(new AcrylLookAndFeel());
                    } catch (UnsupportedLookAndFeelException ex) {
                        
                    }

                }
            });
        } catch (InterruptedException ex) {
        } catch (InvocationTargetException ex) {
        }



        menuBarMenuSistema = new JMenuBar();
        menuBarMenuSistema.setFont(new Font("Dialog", Font.BOLD, 12));
        this.setJMenuBar(menuBarMenuSistema);

        
        mnuArchivo = new JMenu();
        mnuArchivo.setText("Archivo");
        menuBarMenuSistema.add(mnuArchivo);

        miIniciarSesion = new JMenuItem();
        miIniciarSesion.setText("Iniciar Sesion");
        miIniciarSesion.addActionListener(this);
        mnuArchivo.add(miIniciarSesion);

        miCerrarSesion = new JMenuItem();
        miCerrarSesion.setText("Cerrar Sesion");
        miCerrarSesion.setVisible(false);
        miCerrarSesion.addActionListener(this);
        mnuArchivo.add(miCerrarSesion);

  
        /* Menu del Administrador*/
        mnuEmpleados = new JMenu();
        mnuEmpleados.setText("Empleados");
        mnuEmpleados.setVisible(false);
        menuBarMenuSistema.add(mnuEmpleados);
        
        miListadoEmpleados=new JMenuItem();
        miListadoEmpleados.setText("Listar Empleados");    
        miListadoEmpleados.addActionListener(this);
        mnuEmpleados.add(miListadoEmpleados);
        
        miAgregarEmpleados=new JMenuItem();
        miAgregarEmpleados.setText("Agregar Empleados");    
        miAgregarEmpleados.addActionListener(this);
        mnuEmpleados.add(miAgregarEmpleados);
        
        miModificarEmpleados=new JMenuItem();
        miModificarEmpleados.setText("Modificar Empleados");    
        miModificarEmpleados.addActionListener(this);
        mnuEmpleados.add(miModificarEmpleados);
        
        miConsultarEmpleados=new JMenuItem();
        miConsultarEmpleados.setText("Consultar Empleados");    
        miConsultarEmpleados.addActionListener(this);
        mnuEmpleados.add(miConsultarEmpleados);
        
        
       mnuClientes=new JMenu();
       mnuClientes.setText("Clientes");
       mnuClientes.setVisible(false);
       menuBarMenuSistema.add(mnuClientes);
       
       
       miAgregarClientes=new JMenuItem();
       miAgregarClientes.setText("Agregar Clientes");      
       miAgregarClientes.addActionListener(this);
       mnuClientes.add(miAgregarClientes);
       
       miModificarClientes=new JMenuItem();
       miModificarClientes.setText("Modificar Clientes");      
       miModificarClientes.addActionListener(this);
       mnuClientes.add(miModificarClientes);
       
       miListadoClientes=new JMenuItem();
       miListadoClientes.setText("Listar Clientes");      
       miListadoClientes.addActionListener(this);
       mnuClientes.add(miListadoClientes);
       
       miConsultarClientes = new JMenuItem();
       miConsultarClientes.setText("Consulta Clientes");
       miConsultarClientes.addActionListener(this);
       mnuClientes.add(miConsultarClientes);
       
       miEliminarCliente = new JMenuItem();
       miEliminarCliente.setText("Eliminar Clientes");
       miEliminarCliente.addActionListener(this);
       mnuClientes.add(miEliminarCliente);
       
       
       mnuProducto=new JMenu();
       mnuProducto.setText("Productos");
       mnuProducto.setVisible(false);
       menuBarMenuSistema.add(mnuProducto);
        
       miListadoProductos=new JMenuItem();
       miListadoProductos.setText("Listar Productos");     
       miListadoProductos.addActionListener(this);
       mnuProducto.add(miListadoProductos);
       
       miAgregarProductos=new JMenuItem();
       miAgregarProductos.setText("Agregar Productos");     
       miAgregarProductos.addActionListener(this);
       mnuProducto.add(miAgregarProductos);
        
       miConsultarProductos=new JMenuItem();
       miConsultarProductos.setText("Consultar Productos");     
       miConsultarProductos.addActionListener(this);
       mnuProducto.add(miConsultarProductos);
       
       miModificarProductos=new JMenuItem();
       miModificarProductos.setText("Modificar Productos");     
       miModificarProductos.addActionListener(this);
       mnuProducto.add(miModificarProductos);
       
       miEliminarProductos=new JMenuItem();
       miEliminarProductos.setText("Eliminar Productos");     
       miEliminarProductos.addActionListener(this);
       mnuProducto.add(miEliminarProductos);
       
       
       
       mnuReportes=new JMenu();
       mnuReportes.setText("Reportes");
       mnuReportes.setVisible(false);
       menuBarMenuSistema.add(mnuReportes);
       
       
       miReporteCliente=new JMenuItem();
       miReporteCliente.setText("Reporte cliente");     
       miReporteCliente.addActionListener(this);
       mnuReportes.add(miReporteCliente);
       
       miReporteProductos=new JMenuItem();
       miReporteProductos.setText("Producto por criterio");     
       miReporteProductos.addActionListener(this);
       mnuReportes.add(miReporteProductos);

        Toolkit tk = Toolkit.getDefaultToolkit();
        Dimension tamanio = tk.getScreenSize();

        BorderLayout thisLayout = new BorderLayout();
        getContentPane().setLayout(thisLayout);

        this.setSize(tamanio);

        panelPrincipal = new JDesktopPane();
        panelPrincipal.setBackground(Color.DARK_GRAY);
        getContentPane().add(panelPrincipal, BorderLayout.CENTER);




    }

    public void actionPerformed(ActionEvent e) {

//OPCIONES DE EMPLEADOS
        
        if (e.getSource() == miListadoEmpleados) {

            Principal pAppletPrincipal = this;

            if (ventanaListadoEmpleados == null) {
            	ventanaListadoEmpleados = new VentanaListadoEmpleados(pAppletPrincipal);
            	ventanaListadoEmpleados.setVisible(true);
            	ventanaListadoEmpleados.setBounds(0, 0, 900, 600);
            	ventanaListadoEmpleados.addInternalFrameListener(this);
            	ventanaListadoEmpleados.setLocation(this.getWidth() / 2 - ventanaListadoEmpleados.getWidth() / 2, this.getHeight() / 2 - ventanaListadoEmpleados.getHeight() / 2 - 20);
                panelPrincipal.add(ventanaListadoEmpleados);

                try {
                	ventanaListadoEmpleados.setSelected(true);
                } catch (PropertyVetoException ex) {
                   System.out.println(ex);
                }
            }
        }
        
        if (e.getSource() == miAgregarEmpleados) {

            Principal pAppletPrincipal = this;

            if (ventanaAgregarEmpleados == null) {
            	ventanaAgregarEmpleados = new VentanaAgregarEmpleados(pAppletPrincipal);
            	ventanaAgregarEmpleados.setVisible(true);
            	ventanaAgregarEmpleados.setBounds(0, 0,550, 500);
            	ventanaAgregarEmpleados.addInternalFrameListener(this);
            	ventanaAgregarEmpleados.setLocation(this.getWidth() / 2 - ventanaAgregarEmpleados.getWidth() / 2, this.getHeight() / 2 - ventanaAgregarEmpleados.getHeight() / 2 - 20);
                panelPrincipal.add(ventanaAgregarEmpleados);

                try {
                	ventanaAgregarEmpleados.setSelected(true);
                } catch (PropertyVetoException ex) {
                   System.out.println(ex);
                }
            }
        }
        
        if (e.getSource() == miModificarEmpleados) {

            Principal pAppletPrincipal = this;

            if (ventanaModificarEmpleados == null) {
            	ventanaModificarEmpleados = new VentanaModificarEmpleado(pAppletPrincipal);
            	ventanaModificarEmpleados.setVisible(true);
            	ventanaModificarEmpleados.setBounds(0, 0,550, 500);
            	ventanaModificarEmpleados.addInternalFrameListener(this);
            	ventanaModificarEmpleados.setLocation(this.getWidth() / 2 - ventanaModificarEmpleados.getWidth() / 2, this.getHeight() / 2 - ventanaModificarEmpleados.getHeight() / 2 - 20);
                panelPrincipal.add(ventanaModificarEmpleados);

                try {
                	ventanaModificarEmpleados.setSelected(true);
                } catch (PropertyVetoException ex) {
                   System.out.println(ex);
                }
            }
        }
        
        if (e.getSource() == miConsultarEmpleados) {

            Principal pAppletPrincipal = this;

            if (ventanaConsultarEmpleado == null) {
            	ventanaConsultarEmpleado = new VentanaConsultarEmpleado(pAppletPrincipal);
            	ventanaConsultarEmpleado.setVisible(true);
            	ventanaConsultarEmpleado.setBounds(0, 0,500, 400);
            	ventanaConsultarEmpleado.addInternalFrameListener(this);
            	ventanaConsultarEmpleado.setLocation(this.getWidth() / 2 - ventanaConsultarEmpleado.getWidth() / 2, this.getHeight() / 2 - ventanaConsultarEmpleado.getHeight() / 2 - 20);
                panelPrincipal.add(ventanaConsultarEmpleado);

                try {
                	ventanaConsultarEmpleado.setSelected(true);
                } catch (PropertyVetoException ex) {
                   System.out.println(ex);
                }
            }
        }
        
        
        
        if (e.getSource() == miIniciarSesion) {

            Principal pAppletPrincipal = this;

            if (ventanaLogeo == null) {
                ventanaLogeo = new VentanaLogeo(pAppletPrincipal);
                ventanaLogeo.setVisible(true);
                ventanaLogeo.setBounds(0, 0, 400, 300);
                ventanaLogeo.addInternalFrameListener(this);
                ventanaLogeo.setLocation(this.getWidth() / 2 - ventanaLogeo.getWidth() / 2, this.getHeight() / 2 - ventanaLogeo.getHeight() / 2 - 20);
                panelPrincipal.add(ventanaLogeo);

                try {
                    ventanaLogeo.setSelected(true);
                } catch (PropertyVetoException ex) {
                    
                }
            }
        }
        
        if (e.getSource() == miCerrarSesion) {
            miIniciarSesion.setVisible(true);
            miCerrarSesion.setVisible(false);
            mnuClientes.setVisible(false);
            mnuEmpleados.setVisible(false);  
            mnuProducto.setVisible(false);     
            mnuReportes.setVisible(false);     
            CerrarTodasVentanas();
        }



    //OPCINES CLIENTES 
        
        if (e.getSource() == miAgregarClientes) {

            Principal pAppletPrincipal = this;

            if (ventanaAgregarCliente == null) {
            	ventanaAgregarCliente = new VentanaAgregarCliente(pAppletPrincipal);
            	ventanaAgregarCliente.setVisible(true);
            	ventanaAgregarCliente.setBounds(0, 0, 600, 500);
            	ventanaAgregarCliente.addInternalFrameListener(this);
            	ventanaAgregarCliente.setLocation(this.getWidth() / 2 - ventanaAgregarCliente.getWidth() / 2, this.getHeight() / 2 - ventanaAgregarCliente.getHeight() / 2 - 20);
                panelPrincipal.add(ventanaAgregarCliente);

                try {
                    ventanaAgregarCliente.setSelected(true);
                } catch (PropertyVetoException ex) {
                   System.out.println(ex);
                }
            }
        }
        
        if (e.getSource() == miModificarClientes) {

            Principal pAppletPrincipal = this;

            if (ventanaModificarCliente == null) {
            	ventanaModificarCliente = new VentanaModificarCliente(pAppletPrincipal);
            	ventanaModificarCliente.setVisible(true);
            	ventanaModificarCliente.setBounds(0, 0, 600, 500);
            	ventanaModificarCliente.addInternalFrameListener(this);
            	ventanaModificarCliente.setLocation(this.getWidth() / 2 - ventanaModificarCliente.getWidth() / 2, this.getHeight() / 2 - ventanaModificarCliente.getHeight() / 2 - 20);
                panelPrincipal.add(ventanaModificarCliente);

                try {
                	ventanaModificarCliente.setSelected(true);
                } catch (PropertyVetoException ex) {
                   System.out.println(ex);
                }
            }
        }
        
        if (e.getSource() == miEliminarCliente) {

            Principal pAppletPrincipal = this;

            if (ventanaEliminarCliente == null) {
            	ventanaEliminarCliente = new VentanaEliminarCliente(pAppletPrincipal);
            	ventanaEliminarCliente.setVisible(true);
            	ventanaEliminarCliente.setBounds(0, 0, 600, 500);
            	ventanaEliminarCliente.addInternalFrameListener(this);
            	ventanaEliminarCliente.setLocation(this.getWidth() / 2 - ventanaEliminarCliente.getWidth() / 2, this.getHeight() / 2 - ventanaEliminarCliente.getHeight() / 2 - 20);
                panelPrincipal.add(ventanaEliminarCliente);

                try {
                	ventanaEliminarCliente.setSelected(true);
                } catch (PropertyVetoException ex) {
                   System.out.println(ex);
                }
            }
        }
        
        if (e.getSource() == miListadoClientes) {

            Principal pAppletPrincipal = this;

            if (ventanaListadoClientes == null) {
                ventanaListadoClientes = new VentanaListadoClientes(pAppletPrincipal);
                ventanaListadoClientes.setVisible(true);
                ventanaListadoClientes.setBounds(0, 0, 900, 600);
                ventanaListadoClientes.addInternalFrameListener(this);
                ventanaListadoClientes.setLocation(this.getWidth() / 2 - ventanaListadoClientes.getWidth() / 2, this.getHeight() / 2 - ventanaListadoClientes.getHeight() / 2 - 20);
                panelPrincipal.add(ventanaListadoClientes);

                try {
                    ventanaListadoClientes.setSelected(true);
                } catch (PropertyVetoException ex) {
                   System.out.println(ex);
                }
            }
        }
        
        if (e.getSource() == miConsultarClientes) {

            Principal pAppletPrincipal = this;

            if (ventanaConsultarCliente == null) {
                ventanaConsultarCliente = new VentanaConsultarCliente(pAppletPrincipal);
                ventanaConsultarCliente.setVisible(true);
                ventanaConsultarCliente.setBounds(0, 0, 500, 400);
                ventanaConsultarCliente.addInternalFrameListener(this);
                ventanaConsultarCliente.setLocation(this.getWidth() / 2 - ventanaConsultarCliente.getWidth() / 2, this.getHeight() / 2 - ventanaConsultarCliente.getHeight() / 2 - 20);
                panelPrincipal.add(ventanaConsultarCliente);

                try {
                    ventanaConsultarCliente.setSelected(true);
                } catch (PropertyVetoException ex) {
                    Logger.getLogger(Principal.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
        }


        
        
        
        //OPCIONES DE PRODUCTOS

        if (e.getSource() == miListadoProductos) {

            Principal pAppletPrincipal = this;

            if (ventanaListadoProductos == null) {
            	ventanaListadoProductos = new VentanaListadoProductos(pAppletPrincipal);
            	ventanaListadoProductos.setVisible(true);
            	ventanaListadoProductos.setBounds(0, 0, 900, 600);
            	ventanaListadoProductos.addInternalFrameListener(this);
            	ventanaListadoProductos.setLocation(this.getWidth() / 2 - ventanaListadoProductos.getWidth() / 2, this.getHeight() / 2 - ventanaListadoProductos.getHeight() / 2 - 20);
                panelPrincipal.add(ventanaListadoProductos);

                try {
                	ventanaListadoProductos.setSelected(true);
                } catch (PropertyVetoException ex) {
                   System.out.println(ex);
                }
            }
        }
        
        if (e.getSource() == miAgregarProductos) {

            Principal pAppletPrincipal = this;

            if (ventanaAgregarProducto == null) {
            	ventanaAgregarProducto = new VentanaAgregarProducto(pAppletPrincipal);
            	ventanaAgregarProducto.setVisible(true);
            	ventanaAgregarProducto.setBounds(0, 0, 500, 350);
            	ventanaAgregarProducto.addInternalFrameListener(this);
            	ventanaAgregarProducto.setLocation(this.getWidth() / 2 - ventanaAgregarProducto.getWidth() / 2, this.getHeight() / 2 - ventanaAgregarProducto.getHeight() / 2 - 20);
                panelPrincipal.add(ventanaAgregarProducto);

                try {
                	ventanaAgregarProducto.setSelected(true);
                } catch (PropertyVetoException ex) {
                   System.out.println(ex);
                }
            }
        }
        
        if (e.getSource() == miConsultarProductos) {

            Principal pAppletPrincipal = this;

            if (ventanaConsultarProducto == null) {
            	ventanaConsultarProducto = new VentanaConsultarProducto(pAppletPrincipal);
            	ventanaConsultarProducto.setVisible(true);
            	ventanaConsultarProducto.setBounds(0, 0, 500, 350);
            	ventanaConsultarProducto.addInternalFrameListener(this);
            	ventanaConsultarProducto.setLocation(this.getWidth() / 2 - ventanaConsultarProducto.getWidth() / 2, this.getHeight() / 2 - ventanaConsultarProducto.getHeight() / 2 - 20);
                panelPrincipal.add(ventanaConsultarProducto);

                try {
                	ventanaConsultarProducto.setSelected(true);
                } catch (PropertyVetoException ex) {
                   System.out.println(ex);
                }
            }
        }


        if (e.getSource() == miModificarProductos) {

            Principal pAppletPrincipal = this;

            if (ventanaModificarProducto == null) {
            	ventanaModificarProducto = new VentanaModificarProducto(pAppletPrincipal);
            	ventanaModificarProducto.setVisible(true);
            	ventanaModificarProducto.setBounds(0, 0, 500, 350);
            	ventanaModificarProducto.addInternalFrameListener(this);
            	ventanaModificarProducto.setLocation(this.getWidth() / 2 - ventanaModificarProducto.getWidth() / 2, this.getHeight() / 2 - ventanaModificarProducto.getHeight() / 2 - 20);
                panelPrincipal.add(ventanaModificarProducto);

                try {
                	ventanaModificarProducto.setSelected(true);
                } catch (PropertyVetoException ex) {
                   System.out.println(ex);
                }
            }
        }
        
        if (e.getSource() == miEliminarProductos) {

            Principal pAppletPrincipal = this;

            if (ventanaEliminarProducto == null) {
            	ventanaEliminarProducto = new VentanaEliminarProducto(pAppletPrincipal);
            	ventanaEliminarProducto.setVisible(true);
            	ventanaEliminarProducto.setBounds(0, 0, 500, 350);
            	ventanaEliminarProducto.addInternalFrameListener(this);
            	ventanaEliminarProducto.setLocation(this.getWidth() / 2 - ventanaEliminarProducto.getWidth() / 2, this.getHeight() / 2 - ventanaEliminarProducto.getHeight() / 2 - 20);
                panelPrincipal.add(ventanaEliminarProducto);

                try {
                	ventanaEliminarProducto.setSelected(true);
                } catch (PropertyVetoException ex) {
                   System.out.println(ex);
                }
            }
        }
        
        
        //OPCIONES DE REPORTES
        
        if (e.getSource() == miReporteCliente) {

            Principal pAppletPrincipal = this;

            if (ventanaReporteCliente == null) {
            	ventanaReporteCliente = new VentanaReporteCliente(pAppletPrincipal);
            	ventanaReporteCliente.setVisible(true);
            	ventanaReporteCliente.setBounds(0, 0,500,400);
            	ventanaReporteCliente.addInternalFrameListener(this);
            	ventanaReporteCliente.setLocation(this.getWidth() / 2 - ventanaReporteCliente.getWidth() / 2, this.getHeight() / 2 - ventanaReporteCliente.getHeight() / 2 - 20);
                panelPrincipal.add(ventanaReporteCliente);

                try {
                	ventanaReporteCliente.setSelected(true);
                } catch (PropertyVetoException ex) {
                   System.out.println(ex);
                }
            }
        }
        
        
        if (e.getSource() == miReporteProductos) {

            Principal pAppletPrincipal = this;

            if (ventanaReporteProductos == null) {
            	ventanaReporteProductos = new VentanaReporteProductos(pAppletPrincipal);
            	ventanaReporteProductos.setVisible(true);
            	ventanaReporteProductos.setBounds(0, 0,900,700);
            	ventanaReporteProductos.addInternalFrameListener(this);
            	ventanaReporteProductos.setLocation(this.getWidth() / 2 - ventanaReporteProductos.getWidth() / 2, this.getHeight() / 2 - ventanaReporteProductos.getHeight() / 2 - 20);
                panelPrincipal.add(ventanaReporteProductos);

                try {
                	ventanaReporteProductos.setSelected(true);
                } catch (PropertyVetoException ex) {
                   System.out.println(ex);
                }
            }
        }
        

    
    }

    public void internalFrameOpened(InternalFrameEvent e) {
    }

    public void internalFrameClosing(InternalFrameEvent e) {
        if (e.getSource() == ventanaLogeo) {
            ventanaLogeo = null;
        }
        
        if (e.getSource() == ventanaListadoClientes) {
            ventanaListadoClientes = null;
        }
        
        if (e.getSource() == ventanaListadoEmpleados) {
        	ventanaListadoEmpleados = null;
        }
        
        if (e.getSource() == ventanaAgregarEmpleados) {
        	ventanaAgregarEmpleados = null;
        }
        
        if (e.getSource() == ventanaConsultarEmpleado) {
        	ventanaConsultarEmpleado = null;
        }
        
        if (e.getSource() == ventanaListadoProductos) {
        	ventanaListadoProductos = null;
        }
        
        if (e.getSource() == ventanaAgregarCliente) {
        	ventanaAgregarCliente = null;
        }
        
        if (e.getSource() == ventanaEliminarCliente) {
        	ventanaEliminarCliente = null;
        }
        
        if (e.getSource() == ventanaAgregarProducto) {
        	ventanaAgregarProducto = null;
        }
        
        if (e.getSource() == ventanaConsultarProducto) {
        	ventanaConsultarProducto = null;
        }
        if (e.getSource() == ventanaModificarProducto) {
        	ventanaModificarProducto = null;
        }
        if (e.getSource() == ventanaEliminarProducto) {
        	ventanaEliminarProducto = null;
        }
        
        if (e.getSource() == ventanaConsultarCliente) {
            ventanaConsultarCliente = null;
        }
        if (e.getSource() == ventanaModificarCliente) {
        	ventanaModificarCliente = null;
        }
        if (e.getSource() == ventanaModificarEmpleados) {
        	ventanaModificarEmpleados = null;
        }
        if (e.getSource() == ventanaReporteCliente) {
        	ventanaReporteCliente = null;
        }
        if (e.getSource() == ventanaReporteProductos) {
        	ventanaReporteProductos = null;
        }
    }

    private void CerrarTodasVentanas() {     

    	   if (ventanaListadoClientes != null) {
    		   ventanaListadoClientes.setVisible(false);
    		   ventanaListadoClientes = null;
           } 
    	   
    	   if (ventanaListadoProductos != null) {
    		   ventanaListadoProductos.setVisible(false);
    		   ventanaListadoProductos = null;
           }
    	   
    	   if (ventanaAgregarProducto != null) {
    		   ventanaAgregarProducto.setVisible(false);
    		   ventanaAgregarProducto = null;
           }
    	   
    	   if (ventanaConsultarProducto != null) {
    		   ventanaConsultarProducto.setVisible(false);
    		   ventanaConsultarProducto = null;
           }
    	   
    	   if (ventanaEliminarProducto != null) {
    		   ventanaEliminarProducto.setVisible(false);
    		   ventanaEliminarProducto = null;
           }
    	   
    	   if (ventanaModificarProducto != null) {
    		   ventanaModificarProducto.setVisible(false);
    		   ventanaModificarProducto = null;
           }
    	   
    	   if (ventanaListadoEmpleados != null) {
    		   ventanaListadoEmpleados.setVisible(false);
    		   ventanaListadoEmpleados = null;
           }
    	   
    	   if (ventanaModificarEmpleados != null) {
    		   ventanaModificarEmpleados.setVisible(false);
    		   ventanaModificarEmpleados = null;
           }
    	   
    	   if (ventanaConsultarEmpleado != null) {
    		   ventanaConsultarEmpleado.setVisible(false);
    		   ventanaConsultarEmpleado = null;
           }
    	   
    	   
    	   if (ventanaAgregarEmpleados != null) {
    		   ventanaAgregarEmpleados.setVisible(false);
    		   ventanaAgregarEmpleados = null;
           }
    	   
    	   if (ventanaAgregarCliente != null) {
    		   ventanaAgregarCliente.setVisible(false);
    		   ventanaAgregarCliente = null;
           }
    	   
    	   if (ventanaModificarCliente != null) {
    		   ventanaModificarCliente.setVisible(false);
    		   ventanaModificarCliente = null;
           }
    	   
    	   if (ventanaConsultarCliente != null) {
               ventanaConsultarCliente.setVisible(false);
               ventanaConsultarCliente = null;
           }
    	   
    	   if (ventanaEliminarCliente != null) {
    		   ventanaEliminarCliente.setVisible(false);
    		   ventanaEliminarCliente = null;
           }
    	   
    	   if (ventanaReporteCliente != null) {
    		   ventanaReporteCliente.setVisible(false);
    		   ventanaReporteCliente = null;
           }
    	   
    	   if (ventanaReporteProductos != null) {
    		   ventanaReporteProductos.setVisible(false);
    		   ventanaReporteProductos = null;
           }
     
    }

    public void internalFrameClosed(InternalFrameEvent e) {
    }

    public void internalFrameIconified(InternalFrameEvent e) {
    }

    public void internalFrameDeiconified(InternalFrameEvent e) {
    }

    public void internalFrameActivated(InternalFrameEvent e) {
    }

    public void internalFrameDeactivated(InternalFrameEvent e) {
    }
}
